package game.gui.panelinventaire;

import game.controler.EtatJeu;
import game.controler.Inventaire;
import java.awt.GridLayout;
import java.util.ArrayList;
import javax.swing.JPanel;

/**
 *
 * @author Gab'z
 */
public class PanelInventaireFou extends JPanel {

    private static PanelInventaireFou panelInventaireFou = null;
    private static ArrayList<ElementPanelInventaire> listeElmtPanelInventaireFous = null;

    private PanelInventaireFou() {
        this.setLayout(new GridLayout(1, 3));
        this.setSize(270, 90);
        listeElmtPanelInventaireFous = new ArrayList<ElementPanelInventaire>(0);
    }

    public static PanelInventaireFou getPanelInventaireFou() {
        if (panelInventaireFou == null) {
            panelInventaireFou = new PanelInventaireFou();
        }
        return panelInventaireFou;
    }

    private static void reloadElmtPanelInventaireFous() {
        System.out.println("reload listeElmtPanelInventaireFous");
        listeElmtPanelInventaireFous.clear();
        ElementPanelInventaire elmtPanelInventaire;
        boolean selected = false;
        for (String idFouInventaire : Inventaire.getInventaire().getFousList()) {
            if (EtatJeu.getTypeSelectionne() != null  && EtatJeu.getIdSelectionne()!=null && EtatJeu.getTypeSelectionne() == ElementPanelInventaire.TYPE_FOU && EtatJeu.getIdSelectionne().equals(idFouInventaire)) {
                selected = true;
            }
            elmtPanelInventaire = new ElementPanelInventaire(idFouInventaire, ElementPanelInventaire.TYPE_FOU, selected);
            listeElmtPanelInventaireFous.add(elmtPanelInventaire);
        }
    }

    public static void reloadPanelInventaireFous() {
        System.out.println("reload PanelInventaireFous");
        reloadElmtPanelInventaireFous();
        panelInventaireFou.removeAll();

        int ic = 0;
        for (ElementPanelInventaire elmtPanelInventaire : listeElmtPanelInventaireFous) {
            panelInventaireFou.add(elmtPanelInventaire);
            ic++;
            System.out.println("nbr d'objets dans l'inventaire " + panelInventaireFou.getComponentCount());
        }
        ElementPanelInventaire elmtPanelInventaire;
        for (int i = ic; i < 3; i++) {
            elmtPanelInventaire = new ElementPanelInventaire(null, ElementPanelInventaire.TYPE_FOU, false);
            panelInventaireFou.add(elmtPanelInventaire);
            ic++;
        }
        panelInventaireFou.validate();
    }
}